package com.stream;

import java.util.Arrays;
import java.util.List;
import java.util.Optional;

/**
 * 终止操作会从流的流水线中生成结果，结果可以任何不是流的值；流进行了终止操作后就不能再次被使用
 */
public class 终止操作_匹配和查找 {
	public static void main(String[] args) {
		List<Student> list1 = Arrays.asList(new Student("test1",12),new Student("test3",16),new Student("test4",9),new Student("test2",8));
		//检查所有的元素是否满足给定条件
		boolean flag = list1.stream().allMatch(s -> s.getUserAge() > 7);
		System.out.println(flag);
		
		//检查是否有一个元素满足给定条件
		flag = list1.stream().anyMatch(s -> s.getUserAge() > 12);
		System.out.println(flag);
		
		//检查是否所有的元素都不符合给定的条件
		flag = list1.stream().noneMatch(s -> s.getUserAge() > 100);
		System.out.println(flag);
		
		//返回第一个元素
		Optional<Student> optional = list1.stream().findFirst();
		System.out.println(optional.get().getUserName());
		
		//返回任意一个元素
		optional = list1.stream().findAny();
		System.out.println(optional.get().getUserName());
		
	}
}

